﻿//-------------------------------------------------------------------------
///-----------------shm_each_session---------------------------------------
///-----------------共享内存进程间会话类-----------------------------------------
///-----------------2022/3/28---by mv------------------------------
//-------------------------------------------------------------------------
#pragma once

//-------------------------------------------------------------------------
#ifndef _CLASS_SHMECHOSESSION_H
#define _CLASS_SHMECHOSESSION_H
//-------------------------------------------------------------------------
#include "common/global_include.h"

//测试流程
/*
 * @brief facePubEvent
 * 上传人脸数据
 * @param  null
 */
void facePubEvent();
//-------------------------------------------------------------------------

/*
 * @brief irisPubEvent
 * 上传虹膜数据
 * @param null
 */
void irisPubEvent();
//-------------------------------------------------------------------------

/*
 * @brief pubAwtkProcessEvent
 * 发送UI界面切换
 * @param iProcess 界面序号
 */
void pubAwtkProcessEvent(const int iProcess);
//-------------------------------------------------------------------------

/*
 * @brief initSharememoryInterface
 * 初始化共享内存接口
 * @param null
 */
void initSharememoryInterface();
//-------------------------------------------------------------------------

/*
 * @brief getOcrSubProcess
 * 监听OCR消息
 * @param null
 */
void getOcrSubProcess();
//-------------------------------------------------------------------------

/*
 * @brief getHardwareSubProcess
 * 监听硬件返回相关协议
 * @param null
 */
void getHardwareSubProcess();
//-------------------------------------------------------------------------

/*
 * @brief getAIServerSubProcess
 * 监听AIServer服务消息
 * @param null
 */
void getAIServerSubProcess();
//-------------------------------------------------------------------------

/*
 * @brief hardwareProcessCtrl
 * 采集蛋流程控制
 * @param bStart true 开始下降流程 false 采集复位
 * @param bCarWindowDetc true 开启车窗检测 false 关闭车窗检测
 */
void hardwareProcessCtrl(bool bStart, bool bCarWindowDetc, int iDirect);
//-------------------------------------------------------------------------

/*
 * @brief hardwareLightCtrl
 * 采集蛋灯控控制
 * @param iLight 亮度索引
 */
void hardwareLightCtrl(int iLight);
//-------------------------------------------------------------------------

/*
 * @brief hardwareHeightCtrl
 * 采集蛋升降控制
 * @param iHeight 升降高度
 */
void hardwareHeightCtrl(int iHeight);
//-------------------------------------------------------------------------

/*
 * @brief processMonitor
 * 进程消息监控
 * @param iProcess 进程索引 bOnline 进程是否存在
 */
void processMonitor(int iProcess, bool bOnline);
//-------------------------------------------------------------------------

/*
 * @brief irisCameraCloseCtrl
 * 人脸虹膜采集流程结束
 * @param null
 */
void irisCameraCloseCtrl();
//-------------------------------------------------------------------------

/*
 * @brief faceirisAcProcess
 * 人脸虹膜采集流程
 * @param iProcess 流程编号
 */
void faceirisAcProcess(const int iProcess);
//-------------------------------------------------------------------------

/*
 * @brief getOcrConnectionStatus
 * 获取OCR当前连接状态
 * @param null
 */
void getOcrConnectionStatus();
//-------------------------------------------------------------------------

/*
 * @brief ocrConnectStatus
 * OCR连接状态上传
 * @param bConnect OCR连接状态
 */
void ocrConnectStatus(bool bConnect);
//-------------------------------------------------------------------------

/*
 * @brief acquisitionConnectStatus
 * 采集柜下位机连接状态上传
 * @param bConnect 下位机连接状态
 */
void acquisitionConnectStatus(bool bConnect);
//-------------------------------------------------------------------------

/*
 * @brief ocrCurrentStatus
 * OCR当前状态
 * @param iStatus OCR当前状态
 */
void ocrCurrentStatus(int iStatus);
//-------------------------------------------------------------------------

/*
 * @brief ocrDataUpload
 * OCR数据上传
 * @param sData OCR当前数据
 */
void ocrDataUpload(const std::string sData);
//-------------------------------------------------------------------------

/*
 * @brief backBtnReleaseEvent
 * 返回按键时间上传
 * @param null
 */
void backBtnReleaseEvent(const int iFlag);
//-------------------------------------------------------------------------

/*
 * @brief liftHeightUpload
 * 升降高度上传
 * @param iHeight 升降高度
 */
void liftHeightUpload(const int iHeight);
//-------------------------------------------------------------------------

/*
 * @brief extendSignal
 * 机械臂伸缩到位
 * @param null
 */
void extendSignal(const int iFlag);
//-------------------------------------------------------------------------

/*
 * @brief passagerNumUpload
 * 乘客人数上传
 * @param iNum 人数
 */
void passagerNumUpload(const int iNum);

//-------------------------------------------------------------------------

/*
 * @brief aiserverUploadEvent
 * aiserver应用数据上传事件
 * @param iCmd 人脸虹膜采集事件索引
 * @param sData 采集数据
 */
void aiserverUploadEvent(const int iCmd, const std::string sData);
//-------------------------------------------------------------------------


/*
 * @brief vehcleDistanceParam
 *  上报车辆距离参数
 * @param height 下降距离   width 离车距离
 */
void vehcleDistanceParam(int height,int width);
//-------------------------------------------------------------------------


#endif //!_CLASS_SHMECHOSESSION_H
